﻿// EXP0343.cpp : 编写3个不同版本的程序，令其均能输出ia的元素。
// 版本1使用范围for语句管理迭代过程；
// 版本2和版本3都使用普通for语句，其中版本2要求使用下标运算符，版本3要求使用指针。
// 此外，在所有3个版本的程序中都要直接写出数据类型，而不能使用类型别名、auto关键字和decltype关键字。
//

#include <iostream>
using namespace std;

int main()
{
    int ia[3][4] = { {0,1,2,3},{4,5,6,7},{8,9,10,11} };
	//方法一：
    for (auto& row:ia)
    {
	    for (auto& col : row)
	    {
			cout << col << '\t';
	    }
		cout << endl;
    }

	//方法二
    for (int i = 0; i < 3; ++i)
    {
	    for (int j = 0; j < 4; ++j)
	    {
			cout << ia[i][j] << "\t";
	    }
		cout << endl;
    }

	//方法三
	for (auto p=&ia[0];p!=&ia[3];++p)
	{
		for (auto q=*p;q!=*p+4;++q)
		{
			cout << *q << "\t";
		}
		cout << endl;
	}

    
	return 0;
}


